package com.csun.cmny.provider.service;

import com.csun.cmny.core.support.IService;
import com.csun.cmny.provider.model.domain.OmcFlowMessage;
import com.csun.cmny.provider.model.domain.OmcFlowMessageGroup;
import com.csun.cmny.provider.model.dto.message.FlowMessageQueryDto;
import com.csun.cmny.provider.model.vo.message.FlowMessageVo;

import java.util.List;

/**
 * @Auther: chisj chisj@foxmal.com
 * @Date: 2019-10-28 10:22
 * @Description:
 */
public interface OmcFlowMessageGroupService extends IService<OmcFlowMessageGroup> {

    /**
     * bind omc flow message with group
     *
     * @param omcFlowMessageGroup   the omc message group
     *
     * @return  the int
     */
    Integer bind(OmcFlowMessageGroup omcFlowMessageGroup);

    /**
     * untied omc flow message with group
     *
     * @param omcFlowMessageGroup   the omc flow message group
     *
     * @return  the int
     */
    Integer untied(OmcFlowMessageGroup omcFlowMessageGroup);

    /**
     * edit omc flow message group
     *
     * @param omcFlowMessageGroup   the omc flow message group
     *
     * @return  the int
     */
    Integer edit(OmcFlowMessageGroup omcFlowMessageGroup);

    /**
     * query omc flow message group list with page
     *
     * @param flowMessageQueryDto   the flow message query dto
     *
     * @return  the list
     */
    List<FlowMessageVo> queryListWithPage(FlowMessageQueryDto flowMessageQueryDto);

    /**
     * query flow message by code and group id
     *
     * @param code      the code
     * @param groupId   the group id
     *
     * @return  the flow message vo
     */
    FlowMessageVo queryByCodeAndGroupId(String code, Long groupId);
}
